package com.neusoft.demo5;

/**
 * 多态：
 * 1. 要有继承或实现关系
 * 2. 方法重写
 * 3. 父类的引用指向子类的对象  父类 引用变量名 = new 子类的对象();
 */
public class B extends A {
    int x = 20;

    @Override
    public void fun() {
        System.out.println("子类的方法......");
    }

    public static void main(String[] args) {
        B b = new B();
        b.fun();
        System.out.println(b.x);
        System.out.println("-------------------------------------");
        A a = new A();
        a.fun();
        System.out.println(a.x);
        System.out.println("-------------------------------------");
        A x = new B(); //父类的引用指向子类的对象
        x.fun(); //调用的方法是子类重写之后的方法
        System.out.println(x.x); //父类的属性

    }
}
